#include <iostream>
#include <string>
#include <unordered_map>
using namespace std;

unordered_map<char, int> map{ {'a', 2}, {'b', 2}, {'c', 2}, {'d', 3}, {'e', 3}, {'f', 3}, {'g', 4}, {'h', 4}, {'i', 4}, {'j', 5}, {'k', 5}, {'l', 5}
    , {'m', 6}, {'n', 6}, {'o', 6}, {'p', 7}, {'q', 7}, {'r', 7}, {'s', 7}, {'t', 8}, {'u', 8}, {'v', 8}, {'w', 9}, {'x', 9}, {'y', 9}, {'z', 9}
};

int main() {
    string str;
    cin >> str;
    string ans = "";
    for (auto& ch : str) {
        if (isdigit(ch))
            ans += ch;
        else if (islower(ch)) {
            ans = ans + char(map[ch] + '0');
        }
        else {
            char nch = tolower(ch);
            if (nch == 'z') nch = 'a';
            else nch = char(int(nch) + 1);
            ans += nch;
        }
    }
    cout << ans << endl;
}